[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1 Die Utilities von RSys

In diesem Kapitel werden nun alle Utilities von ‘RSYS’ beschrieben. Alle Utilities k�nnen per HotKey aufgerufen werden. In sp�teren Versionen von ‘RSYS’ werden sie als eigenst�ndige Tasks laufen, soda� auch mehrere Utilities gleichzeitig laufen k�nnen.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.1 CRC-Check - Berechnung von Checksummen

Mit dieser kleinen Utility kann die CRC-Checksumme von beliebigen Dateien berechnet werden. Entsprechend der Gr��e der Datei, dessen CRC berechnet werden soll, mu� die CRC-16- oder die CRC-32-Methode gew�hlt werden.

Ich habe mehrere Programme, die CRC-Summen berechnen, zum Vergleich mit meinen Routinen gestartet. Alle Programme gaben f�r ein und dieselbe Datei andere Werte aus, als meine Routine. Ich suche den Fehler heute noch. Wenn sich also eine hilfreiche Seele finden sollte, die den Fehler findet, dieser ist eine T�te Gummib�rchen sicher :-)

Das erscheinende Window enth�lt mehrere Steuerelemente, die jetzt im einzelnen besprochen werden.

Text-Gadget: File

In diesem Text-Gadget wird der Dateiname der ausgew�hlten Datei, deren CRC-Summe berechnet werden soll, angezeigt.

Cycle-Gadget: Type

Mit diesem Gadget kann die zu verwendete Berechnungsart (CRC-16 oder CRC-32) gew�hlt werden.

Gadget: Select

Nach dem Anklicken dieses Gadgets erscheint ein FileRequester, der zu einer Eingabe einer Datei auffordert. Wird eine existierende Datei angew�hlt, wird sofort das File-Gadget aktualisiert.

Text-Gadget: CRC

In diesem Gadget wird die berechnete Checksumme in Hexadezimalschreibweise dargestellt.

Gadget: Compute

Das Gadget startet die Berechnung der CRC-Checksumme.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.2 Crypt File - Verschluesseln von Dateien

Bei der Verschl�sselung der Daten werden zwei Methoden verwendet. Die ROT 13-Methode ist ein einfaches Verschl�sselungsverfahren, das die Buchstaben eines Textes einfach um 13 Zeichen nach vorn oder zur�ck gez�hlte Buchstaben macht. Dazu ein Beispiel: aus der Zeile

            "Das ist ein Satz, der 1 mal kodiert werden soll!"

34 68 97 115 32 105 115 116 32 101 105 110 32 83 97 116 122 44 32 100 101
114 32 49 32 109 97 108 32 107 111 100 105 101 114 116 32 119 101 114 100
101 110 32 115 111 108 108 33 34

macht das ROT 13-Verfahren

            "Qnf vfg rva Fngm, qre 1 zny xbqvreg jreqra fbyy!"

34 81 110 102 32 118 102 103 32 114 118 97 32 70 110 103 109 44 32 113 114
101 32 49 32 122 110 121 32 120 98 113 118 114 101 103 32 106 114 101 113
114 97 32 102 98 121 121 33 34

Darunter habe ich mal die entsprechenden ASCII-Kodierungen geschrieben. Es ist deutlich zu erkennen, da� nur Buchstaben kodiert (verschoben) werden. Interpunktionen und Zahlen werden nicht ber�cksichtigt.

Das zweite Verfahren basiert auf einen zellularen Automaten �hnlich dem der Spielsimulation ‘Life’. Dabei wird ein Ring von Zellen angelegt, der dann durch ein vorgegebenes Pa�wort mit Nummern aufgef�llt wird. Mit diesen Nummern schlie�lich, wird eine Datei kodiert. Diese Methode stammt von der Verschl�sselungsmethode, die in Olaf "Olsen" Barthels ‘term’ zur Kodierung des Telefonbuches verwendet wird.

Anm.: Das Pa�wort ist �beraus WICHTIG! Es sollte erstens nie vergessen und zweitens ein echtes Pa�wort verwendet werden. Das Pa�wort-Gadget sollte also nie leer sein, da sonst die Methode zuf�llige Verschl�sselungen erzeugt und diese Datei nie wieder restauriert werden kann!

Im weiteren werden die Bedienungselemente des Crypt-Windows vorgestellt.

Gadget: Source/Select

Mit diesem Gadget kann mit einem FileRequester die Datei ausgew�hlt werden, die verschl�sselt werden soll. Der Dateiname kann direkt eingegeben werden oder �ber Select per FileRequester.

String-Gadget: Dest/Select

Mit diesem Gadget kann mit einem FileRequester die Datei ausgew�hlt werden, in der die verschl�sselten Daten abgespeichert werden sollen. Der Dateiname kann direkt eingegeben werden oder �ber Select per FileRequester.

String-Gadget: Passwd

Dieses String-Gadget enth�lt das Pa�wort zum Verschl�sseln der Datei nach dem Verfahren mit dem zellularen Automaten. Das Pa�wort ist zwingend erforderlich, jedoch wird die Korrektheit nicht �berpr�ft. Wird also keins angegeben, so ist das eine Einbahnstra�en-Verschl�sselung! Die Datei kann nie wieder restauriert werden! Dieses Gadget ist abgeschaltet, falls die ROT13-Methode verwendet wird.

Cycle-Gadget: Crypt-ROT13

Hiermit kann die Methode gew�hlt werden, mit der die Daten verschl�sselt werden sollen.

Gadget: Encrypt

Mit diesem Gadget wird die Verschl�sselung der Daten gestartet.

Gadget: Decrypt

Mit diesem Gadget wird die Entschl�sselung der Daten gestartet.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.3 List Hunks - Hunk-Struktur ermitteln

Es kommt immer mal vor, da� man sich f�r den Aufbau von Dateien besch�ftigt. Ein wichtige Dateiart ist hierbei die ladbare oder ausf�hrbare Datei. Diese Dateien k�nnen vom System in den Arbeitsspeicher geladen und direkt ausgef�hrt werden.

Damit dieses korrekt vom System durchgef�hrt werden kann, m�ssen die Dateien (Executables) einen bestimmten Aufbau besitzen, die sogenannte Hunk-Struktur. Eine Beschreibung dieser Hunk-Struktur w�rde an dieser Stelle zu weit f�hren. Hierbei sei auf weiterf�hrende Literatur verwiesen, die diese Struktur in allen Einzelheiten erl�utert.

Mit dieser Utility kann die Hunk-Struktur jeder ladbaren Datei ermittelt und angezeigt werden. Zu diesen Dateien geh�ren beispielsweise Libraries, Executables, Font-Dateien und Objekt-Bibliotheken. Desweiteren k�nnen auch Fehler in der Hunk-Struktur angezeigt werden. Bei einem eventuell aufgetretenen Fehler wird noch f�nfmal versucht, einen korrekten Hunk-Eintrag zu finden, danach wird abgebrochen. Die Anzeige der Struktur kann jederzeit mit einem Klick auf das CloseGadget abgebrochen werden.

Nun zu der Beschreibung der einzelnen Gadgets.

ListView: ListView

In diesem ListView wird die Hunk-Struktur in �bersichtlicher Form dargestellt. In der ersten Zeile stehen der Name der Datei und die Gr��e. Dannach kommt hierarchisch angeordnet der Aufbau der Datei. Hier als Beispiel das Hunk-Listing des Programms ‘RSYS’ selbst.

   File name : cprogs2:RSysDir/RSys
   File size : 140156

   hunk_header (o: $0,#0 t: $3F3,#1011)
     Count hunks : #3
     First hunk  : #0
     Last hunk   : #2
       Hunk #0, Length $1DE8C, #122508
       Hunk #1, Length $4D58, #19800
       Hunk #2, Length $4, #4

     hunk_code (o: $20,#32 t: $3E9,#1001)
       Size: $1DE8C, #122508 (MEMF_FAST)

       hunk_reloc32 (o: $1DEB4,#122548 t: $3EC,#1004)
        #17  offsets in Hunk #0
        #2   offsets in Hunk #1
     hunk_end (o: $1DF18,#122648 t: $3F2,#1010)

     hunk_data (o: $1DF1C,#122652 t: $3EA,#1002)
       Size: $365C, #13916 (MEMF_FAST)

       hunk_reloc32 (o: $21580,#136576 t: $3EC,#1004)
        #17  offsets in Hunk #1
        #868 offsets in Hunk #0
     hunk_end (o: $2236C,#140140 t: $3F2,#1010)

     hunk_bss (o: $22370,#140144 t: $3EB,#1003)
       Size: $4, #4 (MEMF_FAST)
     hunk_end (o: $22378,#140152 t: $3F2,#1010)
Gadget: Load

Es erscheint ein FileRequester, mit dem die ladbare Datei ausgew�hlt werden kann. Danach wird die Struktur analysiert und als Liste angezeigt.

Gadget: Save List

Mit einem FileRequester kann eine Datei ausgew�hlt werden, in der die Liste abgespeichert werden soll. Ist der Text-Formatter aktiviert, erscheint nach einer postiven Auswahl das Text-Formatter-Window.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.4 Find File - Suche nach Dateien

Es gibt viele Programme, die das komfortable Suchen nach Dateien in Filesystemen unterst�tzen. Allerdings sind einige Programme mit Sonder- und Spezialfunktionen �berladen, soda� man schon eine Menge Hintergrundwissen einbringen mu�, um die Programm �berhaupt korrekt bedienen zu k�nnen. Dem habe ich hoffentlich Abhilfe schaffen k�nnen. Einfach, klein und fein macht diese Utility genau das, was sie soll: Dateien suchen.

Diese Utility arbeitet intensiv mit der Funktion ExAll() und den Funktionen MatchPattern()/MatchPatternNoCase() der DOS-Library. Dabei werden zu�chst alle Dateien bestimmt und w�hrenddessen untersucht, ob es sich jeweils um ein Verzeichnis oder eine Datei handelt. Trifft dann auch das Suchmuster zu, wird es in das ListView eingetragen.

Hier eine Beschreibung der Bedienungselemente.

ListView: Devices

In diesem ListView stehen alle angemeldeten Devices und Assigns. Wenn ein Eintrag angeklickt wird, erscheint der Eintrag in dem danebenliegenden ListView.

ListView: Selected Devices

Damit werden alle die Verzeichnisse angew�hlt auf denen Dateien gesucht werden sollen. Jeder Eintrag, der in den beiden ListViews angeklickt wird, erscheint automatisch in dem anderen ListView. Bei einem Eintrag mit einem ‘-’ davor handelt es sich um ein Assign. Ich habe diese Kennzeichnung deshalb so gew�hlt, weil ich dann entsprechend die Eintr�ge sortieren kann. Erst die echten, dann die logischen Devices.

Cycle-Gadget: Case/No case

Hier kann gew�hlt werden, ob die Dateien case sensitive (Gro�- und Kleinschreibung wird ber�cksichtigt) oder case insensitive (Gro�- und Kleinschreibung werden nicht unterschieden) gesucht werden. Lautet z.B. das Suchmuster ‘Test.exe’, so wird mit No case sense sowohl die Datei ‘Test.exe’, als auch die Datei ‘TeSt.ExE’ gefunden.

Gadget: Sel all/Sel none

Damit k�nnen alle Eintr�ge vom linken ListView in das rechte gebracht werden (Sel all: alle Verzeichnisse werden durchsucht) und umgekehrt (Sel none: Kein Verzeichnis soll durchsucht werden).

Gadget: Start/Stop

Wurden Verzeichnisse ausgew�hlt und im Pattern-Gadget ein Suchmuster eingegeben, so ist dieses Gadget anw�hlbar und startet die Suche in den Verzeichnissen des Selected Devices-ListViews. Wird das Gadget w�hrend eine Suche angeklickt, wird nach einer Sicherheitabfrage der Suchvorgang abgebrochen.

Gadget: Save found list

Nach der Anwahl erscheint ein Filerequester, in dem die Namen der gefundenen Dateien in eine auszuw�hlende Datei abgespeichert werden k�nnen. Ist der Text-Formatter aktiviert, erscheint nach einer postiven Auswahl das Text-Formatter-Window.

String-Gadget: Pattern

Hier kann ein Suchmuster (Dateiname oder Pattern) eingegeben werden. Hierbei gelten die �blichen Wildcards und Suchmuster des AmigaOS.

Cycle-Gadget: Dirs + Files/Files/Directories

Hier kann gew�hlt werden, was f�r ein Typ von Datei gefunden werden soll.

ListView: Found files/dirs

In diesem ListView erscheinen alle gefunden Eintr�ge mit vollst�ndiger Pfadbezeichnung. Diese Liste kann nach dem Anklicken des Save found list-Gadgets in eine Datei abgespeichert werden.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.5 Format Disk - Format-Schnittstelle

Mit Format Disk wird eine kleine Schnittstelle zum ‘Format’-Befehl des AmigaDOS angeboten. Die einzelnen Gadgets werden im folgenden n�her beschrieben.

String-Gadget: Format-Gadget/Select

In diesem Gadget steht der vollst�ndige Pfadprogrammname des zu verwendenden ‘Format’-Befehls. Dieser lautet �blicherweise

SYS:System/Format’.

Mit dem nebenstehenden Select-Gadget kann das ‘Format’-Programm mit einem Filerequester ausgew�hlt werden.

ListView: Devices

In diesem ListView erscheinen alle formatierbaren Devices alphabetisch geordnet. Das ausgew�hlte Device wird dann im zugeh�rigen Textgadget darunter angezeigt.

Gadget: Disk label

Hier wird der Name des Mediums (voreingestellt und systemkonform ‘Empty’) eingetragen.

Cycle-Gadget: Icons/No Icons

Mit dieser Einstellung wird festgelegt, ob der ‘TrashCan’ samt Icon nach der Formatierung auf die frische Diskette kopiert werden soll.

Cycle-Gadget: OFS/FFS

Damit wird festgelegt, ob die Diskette mit dem neuen FastFileSystem des AmigaOS 2.0 formatiert werden soll, oder im alten Datenformat.

Cycle-Gadget: No international/International

Hiermit wird das Handling der l�nderspezifischen Sonderzeichen in Dateinamen festgelegt.

String-Gadget: Befehls-Gadget

In diesem Stringgadget ohne Namen steht der vollst�ndige Befehl, der nach Festlegung aller Kriterien als eigenst�ndiger Proze� ausgef�hrt wird.

Gadget: Format

Damit wird der ‘Format’-Befehl in einem Shell-Window aufgerufen.

Gadget: Quick

Damit wird der ‘Format’-Befehl in einem Shell-Window aufgerufen. Zuvor wird die Option QUICK an den Befehl drangeh�ngt. Diese Option startet die Formatierung des Directory-Bereiches der Diskette, also nicht der ganzen Diskette.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.6 Save Windows - IFF-Dateien von Windows

Hierbei kam auch eine Routine zum Einsatz, die ich von Olsens ‘term’ geratzt habe. Leider funktioniert Olsens Routine nicht mit allen Fenstern, was an der Verwendung der Funktion ClipBlit() liegt, die zwar die ausgew�hlte BitMap eines Windows ber�cksichtigt, aber die �berlappenden Bereiche anderer Fenster mit Datenm�ll f�llt. Au�erdem verwendet Olsen die BitMap des zu einem Fenster geh�renden Screen-RastPorts anstelle des Window-RastPorts.

Dieses Problem der �berlappung habe ich durch die Verwendung der Routinen BltBitMap() und WindowToFront() behoben. Damit wird das zu speichernde Fenster nach vorne geholt, weswegen auch keine �berlappungen mit anderen Fenstern auftreten. Dieses Verfahren funktioniert nat�rlich nicht mit Backdrop-Fenstern.

Es mu� aber eine M�glichkeit geben, nur den Fensterinhalt abspeichern zu k�nnen. Immerhin kann es die DumpRastPort-Routine des ‘printer.device’ auch. Wer also sachdienliche Hinweise zu diesem Thema hat, m�ge sich bitte mit mir in Verbindung setzen.

Gadget: Windows

In diesem ListView erscheinen alle ge�ffneten Windows, die im System bekannt sind. Dabei werden auch die aufgef�hrt, die auf anderen Screens als dem WorkBench Screen ge�ffnet wurden.

Gadget: IFF File

Wurde ein Fenster angew�hlt, wird dieses Gadget aktiviert. Nach dem Anklicken erscheint ein Filerequester mit der Aufforderung, eine Datei auszuw�hlen, in der das angew�hlte Window als IFF-Datei abgespeichert werden soll.

Gadget: Rescan windows

Damit kann die Window-Liste aktualisiert werden. Dies geschieht nach dem Abspeichern eines Windows automatisch.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.7 Check Libraries - Testen der ROM-Libraries

Alle im ROM angelegten Libraries werden gecheckt, ob sie von anderen Programmen gepatcht wurden. Sehr n�tzlich, um eventuell installierte Viren aufzusp�ren.

Dazu wird eine externe Datei verwendet, die in einem bestimmten Format vorliegt. In dieser stehen alle Libraries und Library-Offsets drin, deren Eintr�ge im System �berpr�ft werden sollen. Mit einem mitgelieferten ‘AREXX’-Programm kann diese Datei einfach aus den FD-Files erzeugt werden.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.8 Search - Die Suchfunktion von RSys

Mit dieser komfortablen Suchfunktion hat der Benutzer die M�glichkeit, in der Liste des Hauptfensters nach einem String suchen zu lassen. Die Suchmethode ist einfach implementiert worden, d.h. es wird die Liste von Anfang an (oder vom letzten gefundenen Eintrag aus) durchsucht und dabei getestet, ob sich der eingegebene String als Teilstring im Listeneintrag befindet.

War der Test erfolgreich, wird der gefundene Eintrag zum obersten Eintrag im ListView gemacht. Der String ist hierbei "case-sensitiv" einzugeben, Gro�- und Kleinschreibung ist also zu ber�cksichtigen! Die Taste ESC beendet die Eingabe und betrachtet die Eingabe als abgebrochen, ebenso wie das Cancel- und das Closegadget.

Nach der Anwahl des entsprechenden Men�punktes erscheint ein kleines Fenster mit drei Gadgets:

Gadget: String-Gadget

In diesem Gadget kann der Suchstring eingegeben werden. Gro�- und Kleinschreibung mu� ber�cksichtigt werden. Die L�nge des Strings ist maximal 40 Zeichen lang. Nach dem �ffnen des Eingabefensters ist dieses Gadget automatisch aktiv.

Gadget: Search-Gadget Taste S

Ist die Eingabe abgeschlossen, wird nach dem Gadget-Klick der String intern �bernommen und eine Vorw�rtssuche gestartet.

Gadget: Cancel-Gadget

Die Eingabe wird abgebrochen. Der eventuell eingegebene String wird NICHT intern �bernommen.


[Top] [Contents] [Index] [ ? ]

About This Document

This document was generated on February 9, 2022 using texi2html 5.0.

The buttons in the navigation panels have the following meaning:

Button Name Go to From 1.2.3 go to
[ << ] FastBack Beginning of this chapter or previous chapter 1
[ < ] Back Previous section in reading order 1.2.2
[ Up ] Up Up section 1.2
[ > ] Forward Next section in reading order 1.2.4
[ >> ] FastForward Next chapter 2
[Top] Top Cover (top) of document  
[Contents] Contents Table of contents  
[Index] Index Index  
[ ? ] About About (help)  

where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure:


This document was generated on February 9, 2022 using texi2html 5.0.